1. Field of the Invention
The present invention relates generally to facsimile and static presentation processing and, more particularly, to methods of expanding capabilities of printers and devices with printing capabilities through use of an expansion bus.
2. State of the Art
Computer systems generally include expansion buses for adding functional enhancements to basic computer systems. As technology improves, computer expansion buses evolve, and in recent years, the Peripheral Component Interface (PCI) bus has become a widely used standard bus on many personal computers. The use of a widely accepted expansion bus, such as PCI, allows production of platform computers and expansion cards by a large number of diverse vendors in an environment where the probability is very high that various expansion cards will operate properly in a variety of platform computer systems. PCI has become such an accepted standard that its use has expanded to many embedded computing applications, particularly where there is a desire for peripheral expansion options.
Peripheral devices, such as printers, are becoming increasingly complex. Indeed, many are completely embedded computing environments, themselves containing microprocessors, random access memory (RAM), read only memory (ROM), and expansion buses for peripherals. The PCI bus is a reasonable expansion bus selection for many of these peripheral devices; however, the PCI bus also exhibits shortcomings for such applications. Because the PCI bus architecture is primarily for the personal computer market, it must remain extremely flexible, whereas in an embedded system environment, some of the complexities accompanying that flexibility are not needed and sometimes not desired.
To overcome these drawbacks, many embedded systems use a derivative of the PCI bus more suited to the required application. Hewlett Packard, for instance, uses a derivative of the PCI bus termed the “Enhanced Input/Output (EIO) bus.” The EIO bus reduces some of the complexity of the PCI bus by limiting some of its capabilities while retaining a large collection of available peripheral devices that will operate correctly on the EIO bus.
Returning to a general purpose computing system, such as a personal computer (PC), the PCI standard also contains a definition of a PCI-to-PCI bridge. A PCI-to PCI-bridge connects a “primary” PCI bus, which is closest to the main processor, to a “secondary” PCI bus. The addition of a PCI bridge allows for increasing the number of available expansion slots in a PC as well as providing some electrical and functional isolation for those devices residing on the secondary PCI bus. Additionally, expansion bus bridges allow for other enhancements. A peripheral may implement an alternate bus architecture such as the legacy PC Industry Standard Architecture bus, or an alternative proprietary bus on the secondary side of the bridge. In addition, for complex expansion devices, the secondary side may function as its own computing environment with its own processor and memory organization while still allowing access to the expansion device by the host processor on the primary side of the expansion bus.
In a printer environment using an EIO bus as the expansion bus, the PCI-to-PCI bridge architecture as defined is not completely suitable or practical. There is, however, still a need for increasing the number and type of expansion devices attachable in an embedded computing environment such as a printer. For example, even in high-end printers, only two or three EIO expansion ports are available. This can be limiting if a printer user would like to add numerous additional capabilities to the printer.
For these reasons, a bridge architecture is needed for expansion buses including the EIO bus. The need exists to increase expansion bus capabilities by allowing additional devices and potentially more complex devices in an embedded system environment. Additionally, the need exists to increase retrofit expansion capability by facilitating the addition of peripheral devices such as a second hard disk drive, a network card, a second network card, an IEEE 1394 high-speed serial bus card, and removable media storage devices.